home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
090
/
pctj8506.arc
/
ARITH.COB
next >
Wrap
Text File
|
1986-09-14
|
3KB
|
88 lines
` IDENTIFICATION DIVISION.
PROGRAM-ID. ARITH.
* ARITHMETIC & CHARACTER BENCHMARK
* FOR BOTH REALIA & RMCOBOL, W/NO CHANGES
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. IBM-PC.
OBJECT-COMPUTER. IBM-PC.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 A-MAX PIC 99999 VALUE 5000.
77 C-MAX PIC 99999 VALUE 500.
77 N PIC 99999.
77 N-S PIC 99.
77 N-SUM PIC 99999.
77 PRODUCT PIC 99999.
77 TWO PIC 99 VALUE 2.
77 THREE PIC 99 VALUE 3.
77 HALF PIC 99999V9.
77 ARITH-MSG PIC X(20) VALUE "DECIMAL ARITHMETIC ".
77 CHAR-MSG PIC X(20) VALUE "CHARACTER OPERATIONS".
01 ARRAY-1.
05 ARRAY-2.
10 STRING-1 PIC X(10) VALUE "1234567890".
10 STRING-2 PIC X(10) OCCURS 9 TIMES.
05 ARRAY-3 REDEFINES ARRAY-2.
10 WORD PIC XX OCCURS 50 TIMES.
* COPY TIMERDAT for Realia, COPY "TIMERDAT.CBL" for RMC
COPY TIMERDAT.
PROCEDURE DIVISION.
000-MAINLINE.
PERFORM 200-ARITH-TEST THRU 200-EXIT.
PERFORM 300-CHAR-TEST THRU 300-EXIT.
STOP RUN.
200-ARITH-TEST.
DISPLAY " ".
DISPLAY ARITH-MSG.
ACCEPT TIMER-START FROM TIME.
PERFORM 220-ARITH-LOOP THRU 220-EXIT
VARYING N FROM 1 BY 1 UNTIL N > A-MAX.
ACCEPT TIMER-END FROM TIME.
PERFORM 2400-CALC-TIME THRU 2400-EXIT.
DISPLAY ELAPSED-TIME.
200-EXIT. EXIT.
220-ARITH-LOOP.
MULTIPLY N BY THREE GIVING PRODUCT.
ADD N, PRODUCT GIVING N-SUM.
DIVIDE N BY TWO GIVING HALF.
220-EXIT. EXIT.
300-CHAR-TEST.
DISPLAY CHAR-MSG.
ACCEPT TIMER-START FROM TIME.
PERFORM 320-CHAR-LOOP THRU 320-EXIT C-MAX TIMES.
ACCEPT TIMER-END FROM TIME.
PERFORM 2400-CALC-TIME THRU 2400-EXIT.
DISPLAY ELAPSED-TIME.
300-EXIT. EXIT.
320-CHAR-LOOP.
MOVE STRING-1 TO STRING-2 (1).
PERFORM 330-CHAR-MOVE THRU 330-EXIT
VARYING N FROM 2 BY 1 UNTIL N > 9.
PERFORM 340-CHAR-COMP THRU 340-EXIT
VARYING N FROM 1 BY 1 UNTIL N > 50.
320-EXIT. EXIT.
330-CHAR-MOVE.
SUBTRACT 1 FROM N GIVING N-S.
MOVE STRING-2 (N-S) TO STRING-2 (N).
330-EXIT. EXIT.
340-CHAR-COMP.
IF WORD (N) = "56" ADD 1 TO N-SUM.
340-EXIT. EXIT.
* COPY TIMERPRO for Realia, COPY "TIMERPRO.CBL" for RMC
COPY TIMERPRO.